1
繼承與狀態的演進
AI035Lesson 2
00:00

在 Ruby 中,繼承不僅僅是共享方法;它更關注於 狀態的演進。當我們建立像 KaraokeSong < Song這樣的子類別時,我們建立了一種「是…的一種」關係,其中子類別繼承父類別的結構,同時也逐步完善自身的身份。

1. 初始化鏈

這個 super 關鍵字是世代之間的橋樑。在 initialize中呼叫 super 會將參數傳遞給父類別的建構函式,確保基礎的實例變數(@name@artist)在子類別加入其特定狀態(@lyrics)之前已被設定。

class Song@name、@artistclass KaraokeSong@lyricssuper() 呼叫父類別

2. 方法擴展

覆蓋一個如 to_s 的方法,使我們能擴展行為。透過呼叫 super 於新定義內,我們取得父類別的字串輸出,並簡單地附加子類別的新資料,維持一條清晰的演進路徑。

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>